10B - Cinema Cashier - CodeForces Solution


dp implementation *1500

Please click on ads to support us..

C++ Code:

#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;

int abs(int a) {
    if(a<0) return -a;
    return a;
}

void solve() {
    int n,k;
    cin >> n >> k;
    vector<vector<int> > hall(k+1,vector<int>(k+1,0));
    for(int i=0;i<n;i++) {
        int req;
        cin >> req;
        bool found=0;
        int x,l,r,score=1e9;
        for(int row=1;row<=k;row++) {
            for(int col=1;col<=k-req+1;col++) {
                int curr=req*abs(row-k/2-1);
                bool flag=0;
                for(int j=col;j<col+req;j++) {
                    if(hall[row][j]) {
                        flag=1;
                        break;
                    }
                    curr+=abs(j-k/2-1);
                }
                if(flag) continue;
                if(curr<score) {
                    found=1;
                    score=curr;
                    x=row;
                    l=col;
                    r=col+req-1;
                }
            }
        }
        if(found) {
            printf("%d %d %d\n", x,l,r);
            for(int i=l;i<=r;i++) hall[x][i]=1;
        } else {
            cout << -1 << endl;
        }
    }
}

int main() {
    // freopen("input.txt","r",stdin);
    // freopen("output.txt","w",stdout);
    // ios_base::sync_with_stdio(false);
    // cin.tie(NULL);
    int t=1;
    // cin >> t;
    while(t--) {
        solve();
    }
}


Comments

Submit
0 Comments
More Questions

169B - Replacing Digits
171D - Broken checker
380C - Sereja and Brackets
1281B - Azamon Web Services
1702A - Round Down the Price
1681C - Double Sort
12A - Super Agent
1709A - Three Doors
1680C - Binary String
1684B - Z mod X = C
1003A - Polycarp's Pockets
1691B - Shoe Shuffling
1706A - Another String Minimization Problem
1695B - Circle Game
1702B - Polycarp Writes a String from Memory
1701A - Grass Field
489C - Given Length and Sum of Digits
886B - Vlad and Cafes
915A - Garden
356A - Knight Tournament
1330A - Dreamoon and Ranking Collection
1692B - All Distinct
1156C - Match Points
1675A - Food for Animals
1328C - Ternary XOR
1689A - Lex String
1708B - Difference of GCDs
863A - Quasi-palindrome
1478A - Nezzar and Colorful Balls
1581B - Diameter of Graph